﻿using Itech_Run.Application.Contracts.Shared.Dto;
using Itech_Run.Sys.Application.Contracts.Dto;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace Itech_Run.Sys.Application.Contracts.Service
{
    public interface ISysUserService : IApplicationService
    {
        Task<SysUserDto> GetAsync(string id);
        Task<List<KeyValueDto>> GetListAsync();
        Task<List<KeyValueDto>> GetListAsync(params string[] ids);
        Task<PagedResultDto<SysUserDto>> GetListAsync(SysUserListDto listDto);
        Task<SysUserDto> InsertAsync(SysUserCreateDto dto, string operateUser);
        Task<SysUserDto> UpdateAsync(SysUserUpdateDto dto, string operateUser);
        Task DeleteAsync(string id);
        Task<SysUserDto> LoginAsync(SysUserLoginDto dto);
        Task ChangePasswordForce(string id, string password, string operateUser);
        Task ChangePassword(string userName, string oldPassword, string newPassword, string operateUser);
        Task<string?> GetResume(string operateUser);
    }
}
